﻿2026-08-01T15:17:18.0169472Z ##[group]Run python -m ruff check \
2026-08-01T15:17:18.0169817Z [36;1mpython -m ruff check \[0m
2026-08-01T15:17:18.0170096Z [36;1m  scripts/ci_portfolio_phase3_gate.py \[0m
2026-08-01T15:17:18.0170411Z [36;1m  src/jarvis_finance/api/main.py \[0m
2026-08-01T15:17:18.0170725Z [36;1m  src/jarvis_finance/api/routers/overview.py \[0m
2026-08-01T15:17:18.0171083Z [36;1m  src/jarvis_finance/api/schemas/portfolio_data.py \[0m
2026-08-01T15:17:18.0171474Z [36;1m  src/jarvis_finance/api/schemas/portfolio_performance.py \[0m
2026-08-01T15:17:18.0171882Z [36;1m  src/jarvis_finance/api/schemas/portfolio_policy.py \[0m
2026-08-01T15:17:18.0172276Z [36;1m  src/jarvis_finance/api/schemas/reconciliation.py \[0m
2026-08-01T15:17:18.0172608Z [36;1m  src/jarvis_finance/api/security.py \[0m
2026-08-01T15:17:18.0173207Z [36;1m  src/jarvis_finance/config/settings.py \[0m
2026-08-01T15:17:18.0173523Z [36;1m  src/jarvis_finance/ledger/cost_basis.py \[0m
2026-08-01T15:17:18.0173846Z [36;1m  src/jarvis_finance/ledger/performance.py \[0m
2026-08-01T15:17:18.0174218Z [36;1m  src/jarvis_finance/quality/freshness.py \[0m
2026-08-01T15:17:18.0174534Z [36;1m  src/jarvis_finance/quality/git_safety.py \[0m
2026-08-01T15:17:18.0174860Z [36;1m  src/jarvis_finance/services/portfolio_data.py \[0m
2026-08-01T15:17:18.0175227Z [36;1m  src/jarvis_finance/services/portfolio_performance.py \[0m
2026-08-01T15:17:18.0175595Z [36;1m  src/jarvis_finance/services/portfolio_policy.py \[0m
2026-08-01T15:17:18.0175972Z [36;1m  src/jarvis_finance/services/reconciliation_snapshot.py \[0m
2026-08-01T15:17:18.0176355Z [36;1m  src/jarvis_finance/services/transfer_pairing.py \[0m
2026-08-01T15:17:18.0176694Z [36;1m  src/jarvis_finance/storage/migrations.py \[0m
2026-08-01T15:17:18.0176984Z [36;1m  tests/conftest.py \[0m
2026-08-01T15:17:18.0177244Z [36;1m  tests/unit/test_api_write_security.py \[0m
2026-08-01T15:17:18.0177537Z [36;1m  tests/unit/test_git_safety.py \[0m
2026-08-01T15:17:18.0177884Z [36;1m  tests/unit/test_portfolio_data_ingestion_reconciliation.py \[0m
2026-08-01T15:17:18.0178302Z [36;1m  tests/unit/test_portfolio_performance_foundation.py \[0m
2026-08-01T15:17:18.0178665Z [36;1m  tests/unit/test_portfolio_policy_foundation.py \[0m
2026-08-01T15:17:18.0179033Z [36;1m  tests/unit/test_reconciliation_snapshot_foundation.py \[0m
2026-08-01T15:17:18.0179370Z [36;1m  tests/unit/test_settings.py \[0m
2026-08-01T15:17:18.0179659Z [36;1m  tests/unit/test_transfer_pairing_v2.py[0m
2026-08-01T15:17:18.0206440Z shell: /usr/bin/bash -e {0}
2026-08-01T15:17:18.0206711Z env:
2026-08-01T15:17:18.0207045Z   PYTHONPATH: src
2026-08-01T15:17:18.0207257Z   JARVIS_FINANCE_ENV: test
2026-08-01T15:17:18.0207620Z   JARVIS_FINANCE_DB_PATH: /tmp/financemanager-phase3-controls/finance.sqlite3
2026-08-01T15:17:18.0208106Z   JARVIS_FINANCE_RUNTIME_DIR: /tmp/financemanager-phase3-controls/runtime
2026-08-01T15:17:18.0208542Z   JARVIS_FINANCE_CI_ROOT: /tmp/financemanager-phase3-migration
2026-08-01T15:17:18.0208878Z   JARVIS_FINANCE_WRITE_MODE: disabled
2026-08-01T15:17:18.0209199Z   pythonLocation: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:17:18.0209599Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.15/x64/lib/pkgconfig
2026-08-01T15:17:18.0210031Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:17:18.0210390Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:17:18.0210751Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:17:18.0211110Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.15/x64/lib
2026-08-01T15:17:18.0211416Z ##[endgroup]
2026-08-01T15:17:18.1278305Z All checks passed!
